// 给定一个数组，将数组中的元素向右移动 k 个位置，其中 k 是非负数。

#include<vector>
using namespace std;

class Solution {
public:
    void rotate(vector<int>& nums, int k) {
        int len = nums.size();
        // 用额外的数组暂存移动后的结果
        vector<int> temp(len);
        for(int i=0; i<len; i++){
            // 原数组下标为i的元素移动到新数组(i+k)mod len的位置
            temp[(i+k)%len] = nums[i];
        }
        nums.assign(temp.begin(), temp.end());
    }
};